package org.raymond.iworks.study.spring.controller;

import org.raymond.iworks.study.spring.service.PropagationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author raymond
 * @version V1.0
 * @Description: TODO
 */
@RestController
public class PropagationTestController {
    @Autowired
    private PropagationService propagationServiceTest;

    @PostMapping("/testRequiredA")
    public void testRequiredA() throws Exception {
        propagationServiceTest.propagationRequiredTestA();
    }
    @PostMapping("/testRequiredB")
    public void testRequiredB() throws Exception {
        propagationServiceTest.propagationRequiredTestB();
    }
    @PostMapping("/testRequiredNewA")
    public void testRequiredNewA() throws Exception {
        propagationServiceTest.propagationRequiredNewTestA();
    }
    @PostMapping("/testRequiredNewB")
    public void testRequiredNewB() throws Exception {
        propagationServiceTest.propagationRequiredNewTestB();
    }
    @PostMapping("/testNestedTestA")
    public void testNestedTestA() throws Exception {
        propagationServiceTest.propagationNestedTestA();
    }
    @PostMapping("/testNestedTestB")
    public void testNestedTestB() throws Exception {
        propagationServiceTest.propagationNestedTestB();
    }
    @PostMapping("/testSupportsTestA")
    public void testSupportsTestA() throws Exception {
        propagationServiceTest.propagationSupportsTestA();
    }
    @PostMapping("/testSupportsTestB")
    public void testSupportsTestB() throws Exception {
        propagationServiceTest.propagationSupportsTestB();
    }
    @PostMapping("/testNotSupportedTestA")
    public void testNotSupportedTestA() throws Exception {
        propagationServiceTest.propagationNotSupportedTestA();
    }
    @PostMapping("/testNotSupportedTestB")
    public void testNotSupportedTestB() throws Exception {
        propagationServiceTest.propagationNotSupportedTestB();
    }
    @PostMapping("/testNeverTestA")
    public void testNeverTestA() throws Exception {
        propagationServiceTest.propagationNeverTestA();
    }
    @PostMapping("/testNeverTestB")
    public void testNeverTestB() throws Exception {
        propagationServiceTest.propagationNeverTestB();
    }
    @PostMapping("/testMandatoryTestA")
    public void testMandatoryTestA() throws Exception {
        propagationServiceTest.propagationMandatoryTestA();
    }
    @PostMapping("/testMandatoryTestB")
    public void testMandatoryTestB() throws Exception {
        propagationServiceTest.propagationMandatoryTestB();
    }
}
